package com.hyh.action;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hyh.bean.AdminInfoBean;
import com.hyh.service.impl.LoginServiceImpl;
import com.hyh.myutils.*;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hyh.bean.AdminInfoBean;
import com.hyh.myutils.MyUtils;
import com.hyh.service.impl.LoginServiceImpl;

/**
 * 使用WebServlet注解配置servlet信息 默认参数是servlet的映射路径
 * 
 */
@WebServlet("/LoginAction")
public class LoginAction extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 * 对客户端请求进行响应处理
	 * 
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 业务逻辑处理	
		// 取出客户端发送的表单数据
	AdminInfoBean adminB =	MyUtils.convertFormData2Bean(request, AdminInfoBean.class);
		System.out.println("登陆用户名："+adminB.getAdmin_name());
		// 调用model层进行业务逻辑处理，查询数据库进行用户信息合法性验证		
		List<AdminInfoBean> lstAdmins = MyUtils.getInstance(LoginServiceImpl.class).queryLoginInfo(adminB);	
		// 根据接收到的model层的返回结果进行用户视图的转发控制
		// 缓存登陆成功的用户信息
//		request.getSession().setAttribute("loginedUserName", strUserName);
		if (lstAdmins != null && lstAdmins.size()>0) {
			// 登陆成功，跳转到登陆成功的页面
			// 使用重定向
			response.sendRedirect("logined.jsp");
//			request.getSession().setAttribute("adminloginName", lstAdmins.get(1));
//			response.setCharacterEncoding("utf-8");
			

		} else {
			// 登陆失败，重新登陆
			// 使用重定向
			response.sendRedirect("adminfail.jsp");
		}
	}

}
